<?php

/**
 * @package usuarios
 * @author Alvaro Garcia
 * @license GPL3
 */
class Evento
{
	private $idUsuario;
	private $nEvento;
	private $titulo;
	private $contenido;
	private $dentroDe;
	
	private $iran;
	private $noIran;
	private $noRespondieron;
	
	
	
	public function getAsistentes($desde,$cantidad)
	{
		//Devuelve un array con los id de los usuarios
		$sql = "SELECT id_usuario_invitado
				FROM invitaciones_eventos
				WHERE id_usuario = ".$this->idUsuario." and n_evento = ".$this->nEvento." and accion = 1
				LIMIT ".$desde.",".$cantidad;
		$usuarios;
		while($usuario = mysql_fetch_array(mysql_query($sql)))
		{
			$usuarioTmp = new Usuario();
			$usuarioTmp->cargarUsuarioConId($usuario[0]);
			$usuarios[] = $usuarioTmp;
		}
		return $usuarios;
	}
	
	public function getDudosos($cantidad)
	{
		//NULL no han contestado
		//0 no van
		//1 van
		//2 quizas van
		
		//Devuelve un array con los id de los usuarios
		$sql = "SELECT id_usuario_invitado
				FROM invitaciones_eventos
				WHERE id_usuario = ".$this->idUsuario." and n_evento = ".$this->nEvento." and accion = 2
				LIMIT ".$desde.",".$cantidad;
		$usuarios;
		while($usuario = mysql_fetch_array(mysql_query($sql)))
		{
			$usuarioTmp = new Usuario();
			$usuarioTmp->cargarUsuarioConId($usuario[0]);
			$usuarios[] = $usuarioTmp;
		}
		return $usuarios;
	}
	
	public function cargarEventoConId($idUsuario,$nEvento)
	{
		$this->idUsuario = $idUsuario;
		$this->nEvento = $nEvento;
		$sql = "SELECT contenido,titulo FROM eventos WHERE id_usuario = ".$idUsuario." AND n_evento = ".$nEvento;
		$fila = mysql_fetch_array(mysql_query($sql),MYSQL_NUM);
		$this->contenido = $fila[0];
		$this->titulo = $fila[1];
		        
		$sql = "SELECT proximo_evento FROM proximos_eventos WHERE id_usuario = ".$idUsuario." AND n_evento = ".$nEvento;
		
		$res = mysql_query($sql);
		if(!mysql_error())
		{
			$fila = mysql_fetch_array($res,MYSQL_NUM);
			$this->dentroDe = $fila[0];
		}
	}
	
	public function getVaAIr($usuario)
	{
		if(is_object($usuario))
			$idUsuario = $usuario->getId();
		else
			$idUsuario = $usuario;
			
		$sql = "SELECT IFNULL(accion,-1)
				FROM invitaciones_eventos
				WHERE id_usuario_invitado = ".$idUsuario."
				and n_evento = ".$this->nEvento." and id_usuario =".$this->idUsuario;

		$fila = mysql_fetch_array(mysql_query($sql),MYSQL_NUM);
		return $fila[0];
	}
	
	public function getDentroDe()
	{
		return $this->dentroDe;
	}
	
	public function getTitulo()
	{
		return $this->titulo;
	}
	
	public function getContenido()
	{
		return $this->contenido;
	}
	
	public function estaInvitado($usuario)
	{
		if(is_object($usuario))
			$idUsuario = $usuario->getId();
		else
			$idUsuario = $usuario;
			
		$sql = "SELECT count(*)
				FROM invitaciones_eventos
				WHERE id_usuario_invitado = ".$idUsuario." AND id_usuario = ".$this->idUsuario." AND n_evento = ".$this->nEvento;
		$fila = mysql_fetch_array(mysql_query($sql),MYSQL_NUM);
		if($fila[0] == 0)
			return false;
		else
			return true;
	}
	
	public function getFecha()
	{
		$sql = "SELECT fecha FROM eventos WHERE id_usuario = ".$this->idUsuario." AND n_evento = ".$this->nEvento;
		$fila = mysql_fetch_array(mysql_query($sql),MYSQL_NUM);
		return $fila[0];
	}
	
	public function getCreador()
	{
		$creador = new Usuario();
		$creador->cargarUsuarioConId($this->idUsuario);
		return $creador;
	}
	
	public function getCantidadVan()
	{
		$sql = "SELECT count(*) FROM invitaciones_eventos WHERE id_usuario = ".$this->idUsuario." AND n_evento = ".$this->nEvento." AND accion = 1";
		$res = mysql_query($sql);
		$fila = mysql_fetch_array($res,MYSQL_NUM);
		return $fila[0];
	}
	
	public function getCantidadQuizas()
	{
		$sql = "SELECT count(*) FROM invitaciones_eventos WHERE id_usuario = ".$this->idUsuario." AND n_evento = ".$this->nEvento." AND accion = 2";
		$res = mysql_query($sql);
		$fila = mysql_fetch_array($res,MYSQL_NUM);
		return $fila[0];
	}
	
	public function getCantidadNoVan()
	{
		$sql = "SELECT count(*) FROM invitaciones_eventos WHERE id_usuario = ".$this->idUsuario." AND n_evento = ".$this->nEvento." AND accion = 0";
		$res = mysql_query($sql);
		$fila = mysql_fetch_array($res,MYSQL_NUM);
		return $fila[0];
	}
	
	public function getCantidadNoContestaron()
	{
		$sql = "SELECT count(*) FROM invitaciones_eventos WHERE id_usuario = ".$this->idUsuario." AND n_evento = ".$this->nEvento." AND accion is null";
		$res = mysql_query($sql);
		$fila = mysql_fetch_array($res,MYSQL_NUM);
		return $fila[0];
	}
	
	public function getId()
	{
		return $this->idUsuario;
	}
	
	public function getIdUsuario()
	{
		return $this->idUsuario;
	}
	
	public function getNEvento()
	{
		return $this->nEvento;
	}
	
	public function getCantidadPaginasComentarios()
	{
		$sql = "SELECT count(*) FROM comentarios_eventos WHERE id_usuario = ".$this->idUsuario." and n_evento = ".$this->nEvento;
		$res = mysql_query($sql);
		$fila = mysql_fetch_array($res);
		return $fila[0];
	}
	
	public function insertarEsuchador($usuario)
	{
		if($this->estaInvitado($usuario))
		{
			if(is_object($usuario))
				$idUsuario = $usuario->getId();
			else
				$idUsuario = $usuario;
			
			$sql = "INSERT INTO eventos_escuchadores (id_usuario,n_evento,id_escuchador)
					VALUES
					(".$this->idUsuario.",".$this->nEvento.",".$idUsuario.")";
			return mysql_query($sql);
		}
		return false;
	}
	
	/*public function estaEsuchando($usuario)
	{
		$sql = "SELECT count(*) FROM eventos_escuchadores WHERE id_escuchador = ".$usuario->getId();
		$fila = mysql_fetch_array(mysql_query($sql));
		if($fila[0] == 0)
			return false;
		else
			return true;
	}*/
	
	public function comentariosLeidos($usuario)
	{
		$sql = "DELETE FROM nuevos_comentarios_eventos
		WHERE id_usuario = ".$this->idUsuario." and id_escuchador =".$usuario->getId()." and n_evento =".$this->idUsuario;
		mysql_query($sql);
		
		$sql = "UPDATE usuarios SET nuevos_eventos_comentarios = null WHERE id_usuario = ".$usuario->getId();
		mysql_query($sql);
	}
	public function eliminarEsuchador($usuario)
	{
		if($this->estaInvitado($usuario))
		{
			if(is_object($usuario))
				$idUsuario = $usuario->getId();
			else
				$idUsuario = $usuario;
			
			$sql = "DELETE FROM nuevos_comentarios_eventos
					WHERE id_usuario = ".$this->idUsuario." AND n_evento = ".$this->nEvento." AND id_escuchador = ".$idUsuario;
			mysql_query($sql);
			
			$sql = "UPDATE usuarios SET nuevos_eventos_comentarios = NULL WHERE id_usuario = ".$idUsuario;
			mysql_query($sql);
			
			$sql = "DELETE FROM eventos_escuchadores
					WHERE id_usuario = ".$this->idUsuario." AND n_evento = ".$this->nEvento." AND id_escuchador = ".$idUsuario;

			return mysql_query($sql);
		}
		return false;
	}
	
	public function estaEsuchando($usuario)
	{
		if($this->estaInvitado($usuario))
		{
			if(is_object($usuario))
				$idUsuario = $usuario->getId();
			else
				$idUsuario = $usuario;
			
			$sql = "SELECT count(*) FROM eventos_escuchadores
					WHERE id_usuario = ".$this->idUsuario." AND n_evento = ".$this->nEvento." AND id_escuchador = ".$idUsuario;
			$res = mysql_query($sql);
			$fila = mysql_fetch_array($res,MYSQL_NUM);
			if($fila[0] > 0)
				return true;
			else
				return false;
		}
		return false;
	}
	
	public function invitar($invitado)
	{
		$sesion = new Sesion();
		$sql = "INSERT INTO invitaciones_eventos (id_usuario_invitado,id_usuario,n_evento,id_invitador)
		VALUES (".$invitado->getId().",".$this->idUsuario.",".$this->nEvento.",".$sesion->getUsuario()->getId().")";
		mysql_query($sql);
		
		$sql = "UPDATE usuarios SET nuevos_eventos_invitaciones = 1 WHERE id_usuario = ".$invitado->getId();
		mysql_query($sql);
	}
}
